/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package managers;

import conexionBD.ConexionServidor;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author ruanda
 */
@ManagedBean
@SessionScoped
public class managerConsultarEstado  implements Serializable{
 private String numeroExpedienteConsulta;
 private String estado;
   FacesContext context;

    /** Creates a new instance of managerConsultarExpediente */
    public managerConsultarEstado() {
         estado="";
         numeroExpedienteConsulta="";
    }

    public String getNumeroExpedienteConsulta() {
        return numeroExpedienteConsulta;
    }

    public void setNumeroExpedienteConsulta(String numeroExpedienteConsulta) {
        this.numeroExpedienteConsulta = numeroExpedienteConsulta;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }


 public  void obtenerEstadoExpediente(){
      ConexionServidor myConexion = new ConexionServidor();
        try {
            Connection con = myConexion.getConnection();
            PreparedStatement ps = con.prepareStatement("select nombreestadoexp from estado_expediente, expediente WHERE estado_expediente.idestado_expediente = expediente.idestado_expediente AND idexpediente = ?");
            ps.setString(1, numeroExpedienteConsulta);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                estado = rs.getString("nombreestadoexp");
            }
            rs.close();
            ps.close();
            con.close();
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }

  public Boolean hayResultados() throws Exception {
        ConexionServidor miConexion = new ConexionServidor();
        ResultSet rs = null;
        Boolean isNotEmpty = null;
        try {
            Connection con = miConexion.getConnection();
            PreparedStatement ps = con.prepareStatement("select * from expediente where idexpediente = ?");
            ps.setString(1, numeroExpedienteConsulta);
            rs = ps.executeQuery();
            isNotEmpty = rs.next();
            rs.close();
            ps.close();
            con.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return isNotEmpty;
    }

   public String buscandoInfo() throws Exception {
        String destino = null;
        if (hayResultados()) {
            obtenerEstadoExpediente();
        } else {
            limpiar();
            context = FacesContext.getCurrentInstance();
            context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"BUSQUEDA EXPEDIENTE", "El expediente ingresado no existe"));
        }
        return destino;
    }

 public void limpiar(){
 estado="";
 numeroExpedienteConsulta="";
 }

}
